package com.smartfast4j.api.common.config;

import com.smartfast4j.api.common.interceptor.ApiInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * springBoot2后，使用WebMvcConfigurer添加拦截器
 */
@Configuration
public class ApiWebMvcConfigurer implements WebMvcConfigurer {

    /**
     * 权限拦截器
     */
    @Autowired
    private ApiInterceptor apiInterceptor;


    /**
     * 配置拦截器
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(apiInterceptor)
                .excludePathPatterns("/common/searchIp")
                .addPathPatterns("/**");
    }
}
